//
// Created by Administrator on 2024/9/4.
/*  P1571 眼红的Medusa

 OJ: https://www.luogu.com.cn/problem/P1571 PASS
虽然 Miss Medusa 到了北京，领了科技创新奖，但是她还是觉得不满意。原因是：他发现很多人都和她一样获了科技创新奖，特别是其中的某些人，还获得了另一个奖项——特殊贡献奖。而越多的人获得了两个奖项，Miss Medusa就会越眼红。于是她决定统计有哪些人获得了两个奖项，来知道自己有多眼红。
输入格式
第一行两个整数 n,mn,m，表示有 nn 个人获得科技创新奖，mm 个人获得特殊贡献奖。
第二行 nn 个正整数，表示获得科技创新奖的人的编号。
第三行 mm 个正整数，表示获得特殊贡献奖的人的编号。
输出格式
输出一行，为获得两个奖项的人的编号，按在科技创新奖获奖名单中的先后次序输出。
输入输出样例
输入 #1
4 3
2 15 6 8
8 9 2
输出 #1
2 8
说明/提示
对于 60% 的数据，0≤n,m≤1000，获得奖项的人的编号 <2×10^9
对于 100% 的数据，0≤n,m≤10^5，获得奖项的人的编号 <2×10^9。
输入数据保证第二行任意两个数不同，第三行任意两个数不同。
 * */
//

#include <iostream>
#include <algorithm>

using namespace std;

int check(int * a, int len, int x)
{
    int l = 0, r = len-1;
    while(l<=r)
    {
        int mid= l + (r - l) / 2;
        if(x<a[mid])
            r= mid - 1;
        else if (x>a[mid])
            l= mid + 1;
        else
            return a[mid];
    }
    return -1;
}

int main()
{
    int n,m;
    cin>>n>>m;
    int mm[m],nn[n];
    // n:科技创新
    for (int i = 0; i < n; ++i)
        cin>>nn[i];
    for (int i = 0; i < m; ++i)
        cin>>mm[i];
//    sort(nn,nn+n);
    sort(mm,mm+m);
    for (int i = 0; i < n; ++i)
    {
        int num =check(mm, m, nn[i]);
        if(num > 0)
        {
            cout << num << ' ';
        }
    }
    return 0;
}